package main

import (
	"fmt"
	"github.com/sirupsen/logrus"
	"os"
)

//把错误日志写到文件中

type MyHook struct {
}

func (hook MyHook) Levels() []logrus.Level {
	//设置只过滤错误日志
	return []logrus.Level{logrus.ErrorLevel}

}
func (hook MyHook) Fire(entry *logrus.Entry) error {

	fmt.Println(entry.Level)
	entry.Data["app"] = "小陈"

	//设置输出文件
	file, _ := os.OpenFile("log/err.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	//设置输出的内容
	line, _ := entry.String()
	//将erro内容进行输出到文件
	file.Write([]byte(line))
	//fmt.Println(entry)
	return nil
}

func main() {
	logrus.SetLevel(logrus.DebugLevel)
	logrus.AddHook(&MyHook{})

	logrus.Error("错误信息")
	logrus.Warnln("警告信息")
}
